package org.jypj.dev.dao;

import org.jypj.dev.model.EmergeFile;
import org.jypj.dev.util.Page;
import org.jypj.dev.vo.EmergyUser;

import java.util.List;
import java.util.Map;

public interface IEmergeFileDao {
    
 	/**
	 * 保存    
	 * 字段为空的不存防止覆盖存在默认值的字段
	 * @param emergeFile
	 * @return 保存后的对象包括ID
	 */	
	public int saveEmergeFileByField(EmergeFile emergeFile);
	
	/**
	 * 保存    
	 * 所有字段全都保存
	 * @param emergeFile 
	 * @return 保存后的对象包括ID
	 */	
	public int saveEmergeFile(EmergeFile emergeFile);
    
    /**
	 * 根据ID删除
	 * @param id 主键ID
	 * @return 删除记录数
	 */	
    public int deleteEmergeFileById(String id);
    
   	/**
	 * 根据对象删除
	 * @param emergeFile
	 * @return 
	 */	
    public int deleteEmergeFileByObject(EmergeFile emergeFile);
    /**
	 * 更新  
	 * 只更新值不为空的字段
	 * @param emergeFile 
	 * @return 保存后的对象包括ID
	 */	
    public int updateEmergeFileByField(EmergeFile emergeFile);
    
    /**
	 * 更新  
	 * 更新所有字段
	 * @param emergeFile 
	 * @return 保存后的对象包括ID
	 */	
    public int updateEmergeFile(EmergeFile emergeFile);
    
   /**
	 * 按ID查询
	 * @parm id 主键ID
	 * @return EmergeFile 
	 */	
    public EmergeFile selectEmergeFileById(String id);
    
    /**
	 * 分页查询 包含条件
	 * @param page 分页对象
	 * @param map  查询条件  
	 * @return  List<EmergeFile>
	 */	
     public List<EmergeFile> selectOnePageByMap(Page page,Map<String,Object> map);
    /**
	 * 分页查询 包含对象条件
	 * @param page 分页对象
	 * @param emergeFile 查询对象
	 * @return List<EmergeFile>
	 */	
     public List<EmergeFile> selectOnePageByEmergeFile(Page page,EmergeFile emergeFile);
    
   /**
	 * 按条件查询全部的
	 * @param map  查询条件  
	 * @return  List<EmergeFile>
	 */	
     public List<EmergeFile> selectAllByMap(Map<String,Object> map);
     
      
   /**
	 * 按条件查询全部的
	 * @param map  查询条件  
	 * @return  List<EmergeFile>
	 */	
     public List<EmergeFile> selectAllByEmergeFile(EmergeFile emergeFile);
     
     /**
 	 * 按条件查询单个对象
 	 * @param map  查询条件  
 	 * @return  EmergeFile
 	 */	
      public List<EmergyUser> selectAllEmergyUser(Map<String,Object> map);
      
      /**
       * 查询所有的信息
       * @param map
       * @return
       */
      public List<EmergyUser> selectAllEmergeFile(Map<String,Object> map);
    
	/**
	 * 按条件查询单个对象
	 * @param map  查询条件  
	 * @return  EmergeFile
	 */	
     public EmergeFile selectObjectByMap(Map<String,Object> map);
     
     /**
	 * 按条件查询单个对象
	 * @param map  查询条件  
	 * @return  EmergeFile
	 */	
     public EmergeFile selectObjectByEmergeFile(EmergeFile emergeFile);
}
